home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 24 / AACD 24.iso / AACD / System / ReqToolsLib / Source / reqtools / mem.c < prev    next >
Encoding:
C/C++ Source or Header  |  2001-07-02  |  917 b   |  50 lines

  1. /****************************************************************************************/
  2.  
  3. #include "filereq.h"
  4.  
  5. /****************************************************************************************/
  6.  
  7. APTR REGARGS AllocVecPooled (APTR pool, ULONG memsize)
  8. {
  9.     if (pool)
  10.     {
  11.     IPTR *mem;
  12.  
  13.     memsize += sizeof(IPTR);
  14.  
  15.     if ((mem = AllocPooled(pool, memsize)))
  16.     {
  17.         *mem++ = memsize;
  18.     }
  19.  
  20.     return mem;
  21.     }
  22.     else
  23.     {
  24.         return AllocVec(memsize, MEMF_PUBLIC | MEMF_CLEAR);
  25.     }
  26. }
  27.  
  28. /****************************************************************************************/
  29.  
  30. void REGARGS FreeVecPooled (APTR pool, APTR mem)
  31. {
  32.     if (mem)
  33.     {
  34.     if (pool)
  35.     {
  36.         IPTR *imem = (IPTR *)mem;
  37.         IPTR size = *--imem;
  38.  
  39.         FreePooled(pool, imem, size);
  40.         }
  41.     else
  42.     {
  43.              FreeVec(mem);
  44.     }
  45.     }
  46. }
  47.  
  48. /****************************************************************************************/
  49.  
  50.